vim配置及常用插件安装

您所在的位置:网站首页 obs常用插件 知乎 vim配置及常用插件安装

vim配置及常用插件安装

2024-07-13 06:50| 来源: 网络整理| 查看: 265

前言 作为一个程序员,一个常用的工具就是编辑器,常用的编辑器有Sublime Text、Emacs、Vim、Source Insight、Atom、TextMate. 引用知乎大佬刘尚奇的言论

中国范围,08年以前Vim和Emacs认知度较低,两基友相爱相杀,流行度不相上下;此后Vim一跃领先,在11年后以压倒性优势成为最流行的editor;Emacs份额也稳中有升,并在12年后迎来更广的认知度和流行度;Sublime Text的趋势跟Worldwide相似但略有delay,流行度在13年超越Emacs;TextMate一直作为小众的存在,从Sublime Text诞生起就被超越。

可以看出vim仍是目前的主流编辑器,它流行的一个主要原因就是可扩展。配上各种插件就可以实现非常炫酷的功能。

本人的环境

系统:Centos7 vim版本:8.0

插件列表 Vundle 管理vim插件的插件 ,其特色在于使用git来管理插件,更新方便。Nerdtree 树形目录插件,可以方便查看目录DoxygenToolkit 用它可以很方便地添加 Doxygen 风格的注释,可以节省大量时间和精力,提高写代码的效率。Taglist TagList插件是一款基于ctags,在vim代码窗口旁以分割窗口形式显示当前的代码结构概览,增加代码浏览的便利程度的vim插件。nerdcommenter 快速注释插件,可以很方便的注释代码vim-airline 状态栏美化插件YouCompleteMe 代码自动补全插件 最终效果

1. 安装/升级Vim

基本所有的操作系统都会内置vim,但是YouCompleteMe插件要求vim版本7.4以上,所以我升级到了vim8.0,centos的包管理工具没有8.0的版本,需要进行手动编译安装。若vim版本大于7.4可忽略本步。

sudo yum install ncurses-devel wget https://github.com/vim/vim/archive/master.zip unzip master.zip cd vim-master cd src/ ./configure --with-features=huge -enable-pythoninterp --with-python-config-dir=/usr/lib/python2.7/config --prefix=/usr/local/ sudo make sudo make install export PATH=/usr/local/bin:$PATH vim --version 2. 安装Vundle

若没有安装git

sudo yum install -y git

下载vundle

mkdir ~/.vim/bundle git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

打开配置文件

vim ~/.vimrc

添加以下代码

set nocompatible " 去除VI一致性,必须要添加 filetype off " 必须要添加 " 设置包括vundle和初始化相关的runtime path set rtp+=~/.vim/bundle/Vundle.vim call vundle#begin() " 另一种选择, 指定一个vundle安装插件的路径 "call vundle#begin('~/some/path/here') " 让vundle管理插件版本,必须 Plugin 'VundleVim/Vundle.vim' " 以下范例用来支持不同格式的插件安装. " 请将安装插件的命令放在vundle#begin和vundle#end之间. " Github上的插件 " 格式为 Plugin '用户名/插件仓库名' Plugin 'tpope/vim-fugitive' " 来自 http://vim-scripts.org/vim/scripts.html 的插件 " Plugin '插件名称' 实际上是 Plugin 'vim-scripts/插件仓库名' 只是此处的用户名可以省略 Plugin 'L9' " 由Git支持但不再github上的插件仓库 Plugin 'git clone 后面的地址' Plugin 'git://git.wincent.com/command-t.git' " 本地的Git仓库(例如自己的插件) Plugin 'file:///+本地插件仓库绝对路径' Plugin 'file:///home/gmarik/path/to/plugin' " 插件在仓库的子目录中. " 正确指定路径用以设置runtimepath. 以下范例插件在sparkup/vim目录下 Plugin 'rstacruz/sparkup', {'rtp': 'vim/'} " 安装L9,如果已经安装过这个插件,可利用以下格式避免命名冲突 Plugin 'ascenator/L9', {'name': 'newL9'} " 你的所有插件需要在下面这行之前 call vundle#end() " 必须 filetype plugin indent on " 必须 加载vim自带和插件相应的语法和文件类型相关脚本 " 忽视插件改变缩进,可以使用以下替代: "filetype plugin on

用vim打开一个新的文件,执行

:PluginInstall

显式Done后安装完毕

3. 安装 Nerdtree

打开vim的配置文件

vim ~/.vimrc

添加代码Plugin ‘scrooloose/nerdtree’在这行之前

" 你的所有插件需要在下面这行之前 call vundle#end() " 必须

添加后

Plugin 'scrooloose/nerdtree' " 你的所有插件需要在下面这行之前 call vundle#end() " 必须

在vim中执行

:PluginInstall

在配置文件中添加以下代码

map t :NERDTreeToggle "map :NERDTreeToggle " 显示行号 let NERDTreeShowLineNumbers=1 let NERDTreeAutoCenter=1 " 是否显示隐藏文件 let NERDTreeShowHidden=1 " 设置宽度 let NERDTreeWinSize=30 " 在终端启动vim时,共享NERDTree let g:nerdtree_tabs_open_on_console_startup=1 " 忽略一下文件的显示 let NERDTreeIgnore=['\.pyc','\~$','\.swp'] " 显示书签列表 let NERDTreeShowBookmarks=1 " vim不指定具体文件打开是,自动使用nerdtree " autocmd StdinReadPre * let s:std_in=1 "autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree |endif " 当vim打开一个目录时,nerdtree自动使用 " autocmd StdinReadPre * let s:std_in=1 " autocmd VimEnter * if argc() == 1 && isdirectory(argv()[0]) && "!exists("s:std_in") | exe 'NERDTree' argv()[0] | wincmd p | ene | endif " 当vim中没有其他文件,值剩下nerdtree的时候,自动关闭窗口 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTree") && b:NERDTree.isTabTree()) | q | endif 4. 安装DoxygenToolkit

在vim配置文件中call vundle#end() 之前添加

Plugin 'DoxygenToolkit.vim'

在call vundle#end() 之后添加

let g:DoxygenToolkit_briefTag_funcName = "yes" " for C++ style, change the '@' to '\' let g:DoxygenToolkit_commentType = "C++" let g:DoxygenToolkit_briefTag_pre = "\\brief " let g:DoxygenToolkit_templateParamTag_pre = "\\tparam " let g:DoxygenToolkit_paramTag_pre = "\\param " let g:DoxygenToolkit_returnTag = "\\return " let g:DoxygenToolkit_throwTag_pre = "\\throw " " @exception is also valid let g:DoxygenToolkit_fileTag = "\\file " let g:DoxygenToolkit_dateTag = "\\date " let g:DoxygenToolkit_authorTag = "\\author " let g:DoxygenToolkit_versionTag = "\\version " let g:DoxygenToolkit_blockTag = "\\name " let g:DoxygenToolkit_classTag = "\\class " let g:DoxygenToolkit_authorName = "suntangji, [email protected]" let g:doxygen_enhanced_color = 1 "let g:load_doxygen_syntax = 1 nmap :DoxAuthor

在vim中执行

:PluginInstall 5. 安装Taglist

taglist依赖ctags,需要进行安装

sudo yum install -y ctags

在vim配置文件中call vundle#end() 之前添加

Plugin 'taglist.vim'

在call vundle#end() 之后添加

let Tlist_Ctags_Cmd='ctags' let Tlist_Show_One_File=1 "不同时显示多个文件的tag,只显示当前文件的 let Tlist_WinWidt =28 "设置taglist的宽度 let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最后一个窗口,则退出vim let Tlist_Use_Right_Window=1 "在右侧窗口中显示taglist窗口 "let Tlist_Use_Left_Windo =1 map l :Tlist

在vim中执行

:PluginInstall 6. 安装nerdcommenter

在vim配置文件中call vundle#end() 之前添加

Plugin 'scrooloose/nerdcommenter'

在vim中执行

:PluginInstall 7. 安装vim-airline

在vim配置文件中call vundle#end() 之前添加

Plugin 'bling/vim-airline' Plugin 'vim-airline/vim-airline-themes'

在call vundle#end() 之后添加

let g:airline_theme="luna" "这个是安装字体后 必须设置此项" "let g:airline_theme="kolor" let g:airline_powerline_fonts = 1 set laststatus=2 "永远显示状态栏 set t_Co=256 "在windows中用xshell连接打开vim可以显示色彩 "打开tabline功能,方便查看Buffer和切换,这个功能比较不错" let g:airline#extensions#tabline#enabled = 1 let g:airline#extensions#tabline#buffer_nr_show = 1 "设置切换Buffer快捷键" nnoremap :bn nnoremap :bp " 关闭状态显示空白符号计数,这个对我用处不大" let g:airline#extensions#whitespace#enabled = 0 let g:airline#extensions#whitespace#symbol = '!' " unicode symbols let g:airline_left_sep = '»' let g:airline_left_sep = '▶' let g:airline_right_sep = '«' let g:airline_right_sep = '◀'

在vim中执行

:PluginInstall

初次安装以后打开Vim,若发现状态栏会出现乱码,这时有两种解决方案,一种是安装powerline字体或者Nerd Fonts实现字体显示,另一种是用unicode字符替代,对于第一种方案,字体的安装请参考github相应主页上的说明

8. 安装YouCompleteMe

该插件需要手动编译 首先安装依赖

sudo yum install -y python-dev python3-dev gcc cmake 方式一 通过Vundle下载源码(不推荐)

该方式下载时间较长,不会进行仓库完备性检查 在vim配置文件中call vundle#end() 之前添加

Plugin 'Valloric/YouCompleteMe'

在vim中执行

:PluginInstall 方式二 通过git 下载源码 git clone https://github.com/Valloric/YouCompleteMe.git ~/.vim/bundle/YouCompleteMe git submodule update --init --recursive

进行编译

cd ~/.vim/bundle/YouCompleteMe sudo yum upgrade sudo ./install.py --clang-completer

安装完成后将.yum_extra_conf.py复制一份到 ~/

cp ~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py ~/

打开.yum_extra_conf.py,在flags中添加以下代码

'-isystem', '/usr/include', '-isystem', '/usr/include/c++/', '-isystem', '/usr/include/i386-linux-gnu/c++'

把flags中‘home/xxx’更改为’home/你的用户名’ 打开配置文件.vimrc添加

let g:ycm_global_ycm_extra_conf='~/.ycm_extra_conf.py' "设置全局配置文件的路径 let g:ycm_seed_identifiers_with_syntax=1 " 语法关键字补全 let g:ycm_confirm_extra_conf=0 " 打开vim时不再询问是否加载ycm_extra_conf.py配置 let g:ycm_key_invoke_completion = '' " ctrl + a 触发补全 set completeopt=longest,menu "让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)

至此,大功告成!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3